#include <stdio.h>

// 数组

int main()
{

    int array[100]; // 数组长度为100，下标为 [0-99]：
    array[22] = 99;
    array[33] = 13;
    printf("%d\n", array);

    int a5[5] = {1, 2, 3, 4, 5}; // 定义数组长度，在大括号内 赋 对应的值;
    printf("%d\n", a5[3]);

    int a6[13] = {1, 2, 3, 4, 5, 6, 7}; // 未赋值的数组下标为0 == NULL；
    printf("%d\n", a6[10]);

    int a7[14] = {0}; // 将数组内所有值设置为0

    int a8[15] = {[2] = 29, [9] = 7, [14] = 80};
    printf("%d\n", a8[9]); // a8下标9 的值为 7 ;

    int a9[15] = {1, [5] = 10, 13, 14, [10] = 20, 33}; // 指定位置的赋值与顺序赋值，可以结合使用。
    printf("%d\n", a9[5]);

    // 如果未确定数组长度
    int a11[] = {22, 33, 44, 55};
    // || 等同于
    // int a11[4] = {22, 33, 44, 55};

    // sizeof 运算符 返回整个数组的 《字节》 长度
    int a10[] = {11, 22, 33, 44, 55, 66, 77};
    int arrLen = sizeof(a10);
    printf("数组长度：%d\n", arrLen);

    // int board[10][10];
    int board[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    printf("数组索引%d\n", board[10]);
    // printf("索引 %d 处的元素地址是 %p", i, &board[])

    // 多维数组
    // int board[2][5]; // 两行三列
    // 如下
    // {0,1,2}
    // {1,1,2}
    // {2,1,2}
    printf("数组值：%d\n", board[0, 3]);
    // 二维数组的遍历

    // int board[10][10];
    // int c[4][5][6];
    
}
